// 编写一个函数把字符串的内容用其反序字符串代替。
// 使用一个循环给函数提供输入值

#include <stdio.h>
#include <string.h>
#define SIZE 80
char * reverse_str(char * str);

int main(void)
{
/**
	char str [] = "hello world";
	char * ans = reverse_str(str);

	puts(ans);
	//reverse_str(str);
**/
	char test_string[SIZE];
	char *p = NULL;

	printf("Enter a string (enter to quit): ");
	fgets(test_string, SIZE, stdin);
	while (*test_string != '\n') // 第一个字符不能是'\n'
	{
		p = reverse_str(test_string);
		printf("Done!\nNow the string is:");
		printf("%s\n", test_string);
		printf("Another? Enter a string(enter to quit.):");
		fgets(test_string, SIZE, stdin);
	}
	return 0;
}

char * reverse_str(char *str)
{
	int len = strlen(str);	
	char  invert[len];

	for (int i = 0; i < len; i++)
		//*(invert + i) = *(str+len-1-i);
		invert[i] = str[len-1-i];	
	for (int i = 0; i < len; i++)
		//*(str + i) = *(invert + i);
		str[i] = invert[i];
	return str;
}
